ExtJS ফ্রেমওয়ার্কে Custom Components এবং Plugins তৈরি করা একটি শক্তিশালী বৈশিষ্ট্য যা আপনাকে আপনার অ্যাপ্লিকেশনকে আরও কাস্টমাইজ এবং উন্নত করতে সহায়ক। আপনি যদি আপনার প্রয়োজনীয় ফিচার বা উপাদান তৈরি করতে চান যা ExtJS এর ডিফল্ট কম্পোনেন্টগুলোর মধ্যে নেই, তবে কাস্টম কম্পোনেন্ট এবং প্লাগইন তৈরি করা একটি ভাল পদ্ধতি।
Custom Components হল এমন UI উপাদান যা আপনি ExtJS এর মৌলিক কম্পোনেন্টগুলির উপর ভিত্তি করে তৈরি করেন অথবা সম্পূর্ণ নতুন কাস্টম কম্পোনেন্ট তৈরি করেন। একটি কাস্টম কম্পোনেন্ট তৈরি করতে, আপনাকে Ext.Component
বা Ext.Widget
ক্লাস এক্সটেন্ড করতে হবে এবং আপনার উপাদানের কাস্টম বৈশিষ্ট্যগুলো সংজ্ঞায়িত করতে হবে।
Ext.define('MyApp.view.MyCustomComponent', {
extend: 'Ext.Component', // ExtJS এর Component এক্সটেন্ড করা
xtype: 'mycustomcomponent', // xtype দিয়ে কম্পোনেন্টকে চিহ্নিত করা
// কাস্টম প্রপার্টি সংজ্ঞায়িত
config: {
myProperty: 'default value'
},
// কম্পোনেন্টের কনটেন্ট রেন্ডার করা
html: '<div>This is my custom component!</div>',
// initComponent মেথডে কম্পোনেন্টের কনফিগারেশন সেট করা হয়
initComponent: function() {
this.callParent();
console.log('My custom component initialized with property: ' + this.getMyProperty());
}
});
// কম্পোনেন্টটি রেন্ডার করা
Ext.create('MyApp.view.MyCustomComponent', {
renderTo: Ext.getBody()
});
এখানে:
extend: 'Ext.Component'
: এটি ExtJS এর মৌলিক Component
ক্লাসকে এক্সটেন্ড করে, যার মাধ্যমে নতুন কাস্টম কম্পোনেন্ট তৈরি করা হয়।xtype
: কাস্টম কম্পোনেন্টের নাম হিসেবে ব্যবহৃত হয়, যাতে অন্যান্য ফর্ম এবং লেআউটে এটি রেফারেন্স করা যেতে পারে।config
: কাস্টম প্রপার্টি বা কনফিগারেশন সেট করার জন্য ব্যবহৃত হয়।html
: কম্পোনেন্টে প্রদর্শিত HTML কনটেন্ট।এই উদাহরণে, আমরা একটি কাস্টম কম্পোনেন্ট তৈরি করেছি যা একটি div
ট্যাগে কাস্টম বার্তা প্রদর্শন করবে।
Plugins হল ExtJS এর একটি বৈশিষ্ট্য যা আপনাকে বিদ্যমান কম্পোনেন্টে অতিরিক্ত কার্যকারিতা যুক্ত করতে সাহায্য করে। প্লাগইনগুলি এক বা একাধিক কম্পোনেন্টে পুনঃব্যবহারযোগ্য এবং ফাংশনালিটি বৃদ্ধি করার জন্য ব্যবহৃত হয়। প্লাগইন সাধারণত Ext.plugin.*
অথবা Ext.AbstractPlugin
এক্সটেন্ড করে তৈরি করা হয়।
Ext.define('MyApp.plugin.MyCustomPlugin', {
extend: 'Ext.AbstractPlugin', // ExtJS এর AbstractPlugin এক্সটেন্ড করা
alias: 'plugin.mycustomplugin', // প্লাগইনের এলিয়াস
// ইনিশিয়ালাইজ মেথড
init: function(cmp) {
this.cmp = cmp;
// প্লাগইন ফাংশনালিটি সংজ্ঞায়িত করা
cmp.on('render', this.onRender, this);
},
// রেন্ডার ইভেন্টে হ্যান্ডলার
onRender: function() {
this.cmp.getEl().setStyle('background-color', '#f0f0f0');
console.log('Custom Plugin Applied!');
}
});
// প্লাগইন ব্যবহার করা
Ext.create('Ext.panel.Panel', {
title: 'Custom Plugin Example',
width: 300,
height: 200,
renderTo: Ext.getBody(),
plugins: ['mycustomplugin'], // প্লাগইন যুক্ত করা
html: '<p>This panel has a custom plugin applied to it!</p>'
});
এখানে:
extend: 'Ext.AbstractPlugin'
: Ext.AbstractPlugin
কে এক্সটেন্ড করে একটি নতুন প্লাগইন তৈরি করা হয়েছে।alias
: প্লাগইনের জন্য এলিয়াস সংজ্ঞায়িত করা হয়েছে, যা অন্য কম্পোনেন্টে এটি রেফারেন্স করার জন্য ব্যবহৃত হবে।init()
: প্লাগইনটি একটি কম্পোনেন্টে ইনিশিয়ালাইজ হওয়ার সময় init()
মেথডে ফাংশনালিটি যোগ করা হয়।onRender()
: প্লাগইনটি তখন কার্যকর হবে যখন কম্পোনেন্টটি রেন্ডার হবে। এখানে আমরা কম্পোনেন্টের ব্যাকগ্রাউন্ড কালার পরিবর্তন করেছি।এই উদাহরণে, MyCustomPlugin
প্লাগইনটি একটি প্যানেলের ব্যাকগ্রাউন্ড কালার পরিবর্তন করবে এবং কম্পোনেন্টে একটি কাস্টম বার্তা প্রদর্শন করবে।
একই অ্যাপ্লিকেশনে কাস্টম কম্পোনেন্ট এবং প্লাগইন একত্রে ব্যবহার করে আপনি আরও শক্তিশালী এবং ফিচার-রিচ ইউজার ইন্টারফেস তৈরি করতে পারেন।
Ext.define('MyApp.view.MyCustomPanel', {
extend: 'Ext.panel.Panel',
xtype: 'mycustompanel',
title: 'Custom Panel with Plugin',
width: 300,
height: 200,
html: '<p>Custom Panel Content</p>',
plugins: [{
ptype: 'mycustomplugin', // প্লাগইন যোগ করা
customConfig: 'Some value'
}]
});
// প্যানেলটি রেন্ডার করা
Ext.create('MyApp.view.MyCustomPanel', {
renderTo: Ext.getBody()
});
এখানে:
xtype: 'mycustompanel'
: কাস্টম প্যানেল ব্যবহার করা হচ্ছে।plugins: [{ ptype: 'mycustomplugin' }]
: আমরা MyCustomPlugin
প্লাগইনটি কাস্টম প্যানেলে যোগ করেছি।Ext.Component
বা Ext.Widget
এক্সটেন্ড করা হয়। এটি আপনার UI উপাদানগুলিকে বিশেষভাবে কাস্টমাইজ করতে সহায়ক।Ext.AbstractPlugin
এক্সটেন্ড করে প্লাগইন তৈরি করা হয়, যা বিদ্যমান কম্পোনেন্টে অতিরিক্ত কার্যকারিতা যোগ করতে ব্যবহৃত হয়। প্লাগইনগুলি পুনঃব্যবহারযোগ্য এবং আপনার অ্যাপ্লিকেশনকে আরও কার্যকরী করে তোলে।এভাবে, আপনি ExtJS তে কাস্টম কম্পোনেন্ট এবং প্লাগইন তৈরি করে আপনার অ্যাপ্লিকেশনের ফিচারগুলিকে আরও কাস্টমাইজ এবং স্কেলেবল করতে পারেন।
Read more